package com.example.sugar.controller;


import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.example.sugar.bean.*;
import com.example.sugar.mapper.ExamStateMapper;
import com.example.sugar.mapper.TrafficStateMapper;
import com.example.sugar.mapper.UserStatsMapper;
import com.example.sugar.mapper.ViewStateMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

@RestController
public class SugarController {
    
    @Autowired
    UserStatsMapper userStatsMapper;

    @Autowired
    ExamStateMapper examStateMapper;

    @Autowired
    TrafficStateMapper trafficStateMapper;

    @Autowired
    ViewStateMapper viewStateMapper;

    @RequestMapping("/gmv")
   public String gmv(Integer date){
        Integer data = userStatsMapper.selectTotalAmount(date);
        JSONObject result = new JSONObject();

        result.put("status",0);
        result.put("msg","");
        result.put("data",0);

        return result.toJSONString();
   }

   //用户变动统计
    @RequestMapping("/gmv/a")
   public String gmv2(Integer date){
        UserTypeBean userTypeBeans = userStatsMapper.selectUserAction(date);
        JSONObject result = new JSONObject();
        result.put("status",0);
        result.put("msg","");
        JSONArray data = new JSONArray();
        JSONObject d1 = new JSONObject();
        d1.put("name", "浏览页");
        d1.put("value",130);
        JSONObject d2 = new JSONObject();
        d2.put("name", "详情页");
        d2.put("value",100);
        JSONObject d3 = new JSONObject();
        d3.put("name", "加购页");
        d3.put("value",80);
        JSONObject d4 = new JSONObject();
        d4.put("name", "支付成功页");
        d4.put("value",60);
        data.add(d1);
        data.add(d2);
        data.add(d3);
        data.add(d4);

        result.put("data",data);

        return result.toJSONString();
    }

    //用户新增活跃统计
    @RequestMapping("/gmv/b")
    public String gmv3(Integer date){
        JSONObject result = new JSONObject();
        result.put("status",0);
        result.put("msg","");
        JSONObject data = new JSONObject();
        JSONArray r1 = new JSONArray();
        JSONArray r2 = new JSONArray();

        r1.add("新增用户数");
        r1.add("活跃用户数");

        JSONObject obj1 = new JSONObject();
        obj1.put("name", "指标");
        JSONArray d1 = new JSONArray();
        d1.add(50);
        d1.add(7);
        obj1.put("data", d1);
        r2.add(obj1);


        data.put("categories", r1);
        data.put("series", r2);
        result.put("data",data);

        return result.toJSONString();
    }

    //用户行为漏斗分析
    @RequestMapping("/gmv/c")
    public String gmv4(Integer date){
        UserLoginBean userLoginBean = userStatsMapper.selectUserLogin(date);
        JSONObject result = new JSONObject();
        result.put("status",0);
        result.put("msg","");
        JSONObject data = new JSONObject();
        JSONArray r1 = new JSONArray();
        JSONArray r2 = new JSONArray();

        r1.add("独立访客数");
        r1.add("会话总数");
        r1.add("会话平均浏览页面数");
        r1.add("会话平均停留时长");
        r1.add("跳出率");

        JSONObject obj1 = new JSONObject();
        obj1.put("name", "指标");
        JSONArray d1 = new JSONArray();
        d1.add(30);
        d1.add(34);
        d1.add(6);
        d1.add(5.2);
        d1.add(0.07);
        obj1.put("data", d1);
        r2.add(obj1);


        data.put("categories", r1);
        data.put("series", r2);
        result.put("data",data);

        return result.toJSONString();
    }

    //答题情况统计
    @RequestMapping("/gmv/d")
    public String gmv5(Integer date){
        ExamOne examOne = examStateMapper.selectAnswer(date);
        JSONObject result = new JSONObject();
        result.put("status",0);
        result.put("msg","");
        JSONObject data = new JSONObject();
        JSONArray r1 = new JSONArray();
        JSONArray r2 = new JSONArray();

        r1.add("正确答题次数");
        r1.add("答题次数");
        r1.add("正确率");
        r1.add("正确答题独立用户数");
        r1.add("答题独立用户数");

        JSONObject obj1 = new JSONObject();
        obj1.put("name", "指标");
        JSONArray d1 = new JSONArray();
        d1.add(13);
        d1.add(15);
        d1.add(0.7);
        d1.add(10);
        d1.add(15);
        obj1.put("data", d1);
        r2.add(obj1);


        data.put("categories", r1);
        data.put("series", r2);
        result.put("data",data);

        return result.toJSONString();
    }

    //各试卷成绩分布
    @RequestMapping("/gmv/e")
    public String gmv6(Integer date){
        JSONObject result = new JSONObject();
        result.put("status",0);
        result.put("msg","");
        JSONObject data = new JSONObject();
        JSONArray r1 = new JSONArray();
        JSONArray r2 = new JSONArray();

        r1.add("0-60");
        r1.add("60-70");
        r1.add("70-80");
        r1.add("80-90");
        r1.add("90-100");

        JSONObject obj1 = new JSONObject();
        obj1.put("name", "指标");
        JSONArray d1 = new JSONArray();
        d1.add(30);
        d1.add(20);
        d1.add(30);
        d1.add(10);
        d1.add(10);
        obj1.put("data", d1);
        r2.add(obj1);


        data.put("categories", r1);
        data.put("series", r2);
        result.put("data",data);

        return result.toJSONString();
    }

    //各渠道流量统计
    @RequestMapping("/gmv/f")
    public String gmv7(Integer date){
        JSONObject result = new JSONObject();
        result.put("status",0);
        result.put("msg","");
        JSONObject data = new JSONObject();
        JSONArray r1 = new JSONArray();
        JSONArray r2 = new JSONArray();

        r1.add("独立访客数");
        r1.add("页面浏览数");
        r1.add("会话平均浏览页面数");

        JSONObject obj1 = new JSONObject();
        obj1.put("name", "指标");
        JSONArray d1 = new JSONArray();
        d1.add(2);
        d1.add(15);
        d1.add(10);
        obj1.put("data", d1);
        r2.add(obj1);


        data.put("categories", r1);
        data.put("series", r2);
        result.put("data",data);

        return result.toJSONString();
    }

    //累计播放时长
    @RequestMapping("/gmv/g")
    public String gmv8(Integer date){
        JSONObject result = new JSONObject();
        result.put("status",0);
        result.put("msg","");
        JSONObject data = new JSONObject();
        JSONArray r1 = new JSONArray();
        JSONArray r2 = new JSONArray();

        r1.add("第一章");
        r1.add("第二章");
        r1.add("第三章");
        r1.add("第四章");

        JSONObject obj1 = new JSONObject();
        obj1.put("name", "指标");
        JSONArray d1 = new JSONArray();
        d1.add(8);
        d1.add(10);
        d1.add(30);
        d1.add(10);
        obj1.put("data", d1);
        r2.add(obj1);


        data.put("categories", r1);
        data.put("series", r2);
        result.put("data",data);

        return result.toJSONString();
    }

    //观看人数
    @RequestMapping("/gmv/h")
    public String gmv9(Integer date){
        JSONObject result = new JSONObject();
        result.put("status",0);
        result.put("msg","");
        JSONObject data = new JSONObject();
        JSONArray r1 = new JSONArray();
        JSONArray r2 = new JSONArray();

        r1.add("第一章");
        r1.add("第二章");
        r1.add("第三章");
        r1.add("第四章");

        JSONObject obj1 = new JSONObject();
        obj1.put("name", "指标");
        JSONArray d1 = new JSONArray();
        d1.add(8);
        d1.add(10);
        d1.add(30);
        d1.add(10);
        obj1.put("data", d1);
        r2.add(obj1);


        data.put("categories", r1);
        data.put("series", r2);
        result.put("data",data);

        return result.toJSONString();
    }

    //人均观看时长
    @RequestMapping("/gmv/i")
    public String gmv10(Integer date){
        JSONObject result = new JSONObject();
        result.put("status",0);
        result.put("msg","");
        JSONObject data = new JSONObject();
        JSONArray r1 = new JSONArray();
        JSONArray r2 = new JSONArray();

        r1.add("第一章");
        r1.add("第二章");
        r1.add("第三章");
        r1.add("第四章");

        JSONObject obj1 = new JSONObject();
        obj1.put("name", "指标");
        JSONArray d1 = new JSONArray();
        d1.add(5);
        d1.add(4);
        d1.add(3);
        d1.add(3);
        obj1.put("data", d1);
        r2.add(obj1);


        data.put("categories", r1);
        data.put("series", r2);
        result.put("data",data);

        return result.toJSONString();
    }

    //---------------------------------------------
    //.各试卷考试人数
    @RequestMapping("/gmv/j")
    public String gmv11(Integer date){
        JSONObject result = new JSONObject();
        result.put("status",0);
        result.put("msg","");
        JSONObject data = new JSONObject();
        JSONArray r1 = new JSONArray();
        JSONArray r2 = new JSONArray();

        r1.add("第一章");
        r1.add("第二章");
        r1.add("第三章");
        r1.add("第四章");

        JSONObject obj1 = new JSONObject();
        obj1.put("name", "指标");
        JSONArray d1 = new JSONArray();
        d1.add(5);
        d1.add(4);
        d1.add(3);
        d1.add(3);
        obj1.put("data", d1);
        r2.add(obj1);


        data.put("categories", r1);
        data.put("series", r2);
        result.put("data",data);

        return result.toJSONString();
    }

    //各试卷平均分
    @RequestMapping("/gmv/k")
    public String gmv12(Integer date){
        JSONObject result = new JSONObject();
        result.put("status",0);
        result.put("msg","");
        JSONObject data = new JSONObject();
        JSONArray r1 = new JSONArray();
        JSONArray r2 = new JSONArray();

        r1.add("第一章");
        r1.add("第二章");
        r1.add("第三章");
        r1.add("第四章");

        JSONObject obj1 = new JSONObject();
        obj1.put("name", "指标");
        JSONArray d1 = new JSONArray();
        d1.add(5);
        d1.add(4);
        d1.add(3);
        d1.add(3);
        obj1.put("data", d1);
        r2.add(obj1);


        data.put("categories", r1);
        data.put("series", r2);
        result.put("data",data);

        return result.toJSONString();
    }

    //各试卷平均时长
    @RequestMapping("/gmv/l")
    public String gmv13(Integer date){
        JSONObject result = new JSONObject();
        result.put("status",0);
        result.put("msg","");
        JSONObject data = new JSONObject();
        JSONArray r1 = new JSONArray();
        JSONArray r2 = new JSONArray();

        r1.add("第一章");
        r1.add("第二章");
        r1.add("第三章");
        r1.add("第四章");

        JSONObject obj1 = new JSONObject();
        obj1.put("name", "指标");
        JSONArray d1 = new JSONArray();
        d1.add(5);
        d1.add(4);
        d1.add(3);
        d1.add(3);
        obj1.put("data", d1);
        r2.add(obj1);


        data.put("categories", r1);
        data.put("series", r2);
        result.put("data",data);

        return result.toJSONString();
    }

    //交易综合统计
    @RequestMapping("/gmv/m")
    public String gmv14(Integer date){
        JSONObject result = new JSONObject();
        result.put("status",0);
        result.put("msg","");
        JSONObject data = new JSONObject();
        JSONArray r1 = new JSONArray();
        JSONArray r2 = new JSONArray();

        r1.add("第一章");
        r1.add("第二章");
        r1.add("第三章");
        r1.add("第四章");

        JSONObject obj1 = new JSONObject();
        obj1.put("name", "指标");
        JSONArray d1 = new JSONArray();
        d1.add(5);
        d1.add(4);
        d1.add(3);
        d1.add(3);
        obj1.put("data", d1);
        r2.add(obj1);


        data.put("categories", r1);
        data.put("series", r2);
        result.put("data",data);

        return result.toJSONString();
    }

    //各省份交易统计
    @RequestMapping("/gmv/n")
    public String gmv15(Integer date){
        JSONObject result = new JSONObject();
        result.put("status",0);
        result.put("msg","");
        JSONObject data = new JSONObject();
        JSONArray r1 = new JSONArray();
        JSONArray r2 = new JSONArray();

        r1.add("user_count");
        r1.add("order_Count");
        r1.add("order_amount");

        JSONObject obj1 = new JSONObject();
        obj1.put("name", "指标");
        JSONArray d1 = new JSONArray();
        d1.add(50.00);
        d1.add(40.00);
        d1.add(10243.00);
        obj1.put("data", d1);
        r2.add(obj1);


        data.put("categories", r1);
        data.put("series", r2);
        result.put("data",data);

        return result.toJSONString();
    }

    //各新老访客流量统计
    @RequestMapping("/gmv/o")
    public String gmv16(Integer date){
        JSONObject result = new JSONObject();
        result.put("status",0);
        result.put("msg","");
        JSONObject data = new JSONObject();
        JSONArray r1 = new JSONArray();
        JSONArray r2 = new JSONArray();

        r1.add("第一章");
        r1.add("第二章");
        r1.add("第三章");
        r1.add("第四章");

        JSONObject obj1 = new JSONObject();
        obj1.put("name", "指标");
        JSONArray d1 = new JSONArray();
        d1.add(5);
        d1.add(4);
        d1.add(3);
        d1.add(3);
        obj1.put("data", d1);
        r2.add(obj1);


        data.put("categories", r1);
        data.put("series", r2);
        result.put("data",data);

        return result.toJSONString();
    }

    //关键词统计
    @RequestMapping("/gmv/p")
    public String gmv17(Integer date){
        JSONObject result = new JSONObject();
        result.put("status",0);
        result.put("msg","");
        JSONObject data = new JSONObject();
        JSONArray r1 = new JSONArray();
        JSONArray r2 = new JSONArray();

        r1.add("第一章");
        r1.add("第二章");
        r1.add("第三章");
        r1.add("第四章");

        JSONObject obj1 = new JSONObject();
        obj1.put("name", "指标");
        JSONArray d1 = new JSONArray();
        d1.add(5);
        d1.add(4);
        d1.add(3);
        d1.add(3);
        obj1.put("data", d1);
        r2.add(obj1);


        data.put("categories", r1);
        data.put("series", r2);
        result.put("data",data);

        return result.toJSONString();
    }
}